#ifndef sort_compare__h
#define sort_compare__h

#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;

template<typename TimeT = std::chrono::milliseconds>
struct measure
{
    template<typename F, typename ...Args>
    static typename TimeT::rep execution(F func, Args&&... args)
    {
        auto start = std::chrono::system_clock::now();

        // Now call the function with all the parameters you need.
        func(std::forward<Args>(args)...);

        auto duration = std::chrono::duration_cast< TimeT> 
                            (std::chrono::system_clock::now() - start);

        return duration.count();
    }
};

typedef measure<> Measure;




void testGenerate();


void beforetestSort();


void testSort();

void testCopy();


void testInt();

void testFloat();

void testAnother(void);
#endif